# 练习题
# 1。使用列表推到式完成把字典中的键值对转换成 key=value的数据格式
'''
字典{'user' : 'admin' , 'age ' :20, ' phone ' : ' 133'}
列表[ 'user=admin ' , 'age=20 ' , ' phone=133' ]
'''
userDict = {'user': 'admin', 'age ': 20, ' phone ': ' 133'}
result = [f'{item}={userDict[item]}' for item in userDict]
print(result)  # ['user=admin', 'age =20', ' phone = 133']
# 2。用列表推到式完成把列表中的所有字符全部转为小写
# [ 'AAAAA' , 'bbBb ' , 'ccCcc '] ==> [ 'aaaaa ', ' bbbbb ' , ' scsss ']
strList = ['AAAAA', 'bbBb ', 'ccCcc ']
result = [item.lower() for item in strList]
print(result)  # ['aaaaa', 'bbbb ', 'ccccc ']
# 3。x是0-5之间偶数，y是0-5之间奇数，把x， y组成一个元组，放到列表中[(0, 1), (0, 3), (0, 5), (2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)]
result = [(x, y) for x in range(6) for y in range(6) if x % 2 == 0 and y % 2 != 0]
print(result)

# 4。使用列表推到式完成九九乘法表
# 结果如下：
# ['1*1=1', '2*1=2', '2*2=4', '3*1=3', '3*2=6', '3*3=9', '4*1=4', '4*2=8', '4*3=12', '4*4=16', '5*1=5', '5*2=10', '5*3=15', '5*4=20', '5*5=25', '6*1=6', '6*2=12', '6*3=18', '6*4=24', '6*5=30', '6*6=36', '7*1=7', '7*2=14', '7*3=21', '7*4=28', '7*5=35', '7*6=42', '7*7=49', '8*1=8', '8*2=16', '8*3=24', '8*4=32', '8*5=40', '8*6=48', '8*7=56', '8*8=64', '9*1=9', '9*2=18', '9*3=27', '9*4=36', '9*5=45', '9*6=54', '9*7=63', '9*8=72', '9*9=81']
for i in range(1, 10):
    for j in range(1, 10):
        if i >= j:
            print(f'{i} * {j} = {i * j}', end=' ')
    print()

result = [f'{i}*{j}={i * j}' for i in range(1, 10) for j in range(1, 10) if i >= j]
print(result)
# 5。求M，N中矩阵和元素的乘积
"""
M=[
[1,2,3],
[4,5,6],
[7,8,9]
]
N= [
[2,2,2],
[3,3,3],
[4,4,4]
]
实现乘积的结果
(1)==>[2，4，6，12，15，18，28，32，36]
(2)==>[[2,4,6],[12,15,18],[28,32,36]]
"""
M = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
N = [
    [2, 2, 2],
    [3, 3, 3],
    [4, 4, 4]
]
result = [M[i][j] * N[i][j] for i in range(0, 3) for j in range(0, 3)]
print(result)
